<!-- HTML header for doxygen 1.8.20-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
	<meta http-equiv="X-UA-Compatible" content="IE=9"/>
	<meta name="generator" content="Doxygen 1.9.4"/>
	<meta name="viewport" content="width=device-width, initial-scale=1"/>
	<title>Raspberry Pi Pico SDK: include/pico/cyw43_arch.h Source File</title>
	<!-- <link href="tabs.css" rel="stylesheet" type="text/css"/> -->
	<script type="text/javascript" src="jquery.js"></script>
	<script type="text/javascript" src="dynsections.js"></script>
	<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
	<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap" rel="stylesheet">
	<link href="doxygen.css" rel="stylesheet" type="text/css" />
	<link href="normalise.css" rel="stylesheet" type="text/css"/>
<link href="main.css" rel="stylesheet" type="text/css"/>
<link href="styles.css" rel="stylesheet" type="text/css"/>
</head>
<body>
	<div class="navigation-mobile">
		<div class="logo--mobile">
			<a href="/"><img src="logo-mobile.svg" alt="Raspberry Pi"></a>
		</div>
		<div class="navigation-toggle">
			<span class="line-1"></span>
			<span class="line-2">
				<p>Menu Toggle</p>
			</span>
			<span class="line-3"></span>
		</div>
	</div>
	<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
		<div class="logo">
			<a href="index.html"> <img src="logo.svg" alt="Raspberry Pi"></a>
			<span style="display: inline-block; margin-top: 10px;">
				v2.0.0
			</span>
		</div>
		<div class="navigation-footer">
			<img src="logo-mobile.svg" alt="Raspberry Pi">
			<a href="https://www.raspberrypi.com/" target="_blank">By Raspberry Pi Ltd</a>
		</div>
<!-- 		<div class="search">
			<form>
				<input type="search" name="search" id="search" placeholder="Search">
				<input type="submit" value="Search">
			</form>
		</div> -->
<!-- Generated by Doxygen 1.9.4 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('cyw43__arch_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle"><div class="title">cyw43_arch.h</div></div>
</div><!--header-->
<div class="contents">
<a href="cyw43__arch_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Copyright (c) 2022 Raspberry Pi (Trading) Ltd.</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> *</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> * SPDX-License-Identifier: BSD-3-Clause</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> */</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span> </div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="preprocessor">#ifndef _PICO_CYW43_ARCH_H</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="preprocessor">#define _PICO_CYW43_ARCH_H</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span> </div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="preprocessor">#include &quot;<a class="code" href="pico_8h.html">pico.h</a>&quot;</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span> </div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {</div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="preprocessor">#include &quot;<a class="code" href="cyw43_8h.html">cyw43.h</a>&quot;</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="preprocessor">#include &quot;<a class="code" href="cyw43__country_8h.html">cyw43_country.h</a>&quot;</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="preprocessor">#include &quot;<a class="code" href="async__context_8h.html">pico/async_context.h</a>&quot;</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span> </div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="preprocessor">#ifdef PICO_CYW43_ARCH_HEADER</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span><span class="preprocessor">#include __XSTRING(PICO_CYW43_ARCH_HEADER)</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="preprocessor">#if PICO_CYW43_ARCH_POLL</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="preprocessor">#include &quot;pico/cyw43_arch/arch_poll.h&quot;</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="preprocessor">#elif PICO_CYW43_ARCH_THREADSAFE_BACKGROUND</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="preprocessor">#include &quot;pico/cyw43_arch/arch_threadsafe_background.h&quot;</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="preprocessor">#elif PICO_CYW43_ARCH_FREERTOS</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="preprocessor">#include &quot;pico/cyw43_arch/arch_freertos.h&quot;</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="preprocessor">#error must specify support pico_cyw43_arch architecture type or set PICO_CYW43_ARCH_HEADER</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span> </div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span><span class="comment">// PICO_CONFIG: PARAM_ASSERTIONS_ENABLED_PICO_CYW43_ARCH, Enable/disable assertions in the pico_cyw43_arch module, type=bool, default=0, group=pico_cyw43_arch</span></div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span><span class="preprocessor">#ifndef PARAM_ASSERTIONS_ENABLED_PICO_CYW43_ARCH</span></div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span><span class="preprocessor">#ifdef PARAM_ASSERTIONS_ENABLED_CYW43_ARCH </span><span class="comment">// backwards compatibility with SDK &lt; 2.0.0</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span><span class="preprocessor">#define PARAM_ASSERTIONS_ENABLED_PICO_CYW43_ARCH PARAM_ASSERTIONS_ENABLED_CYW43_ARCH</span></div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span><span class="preprocessor">#define PARAM_ASSERTIONS_ENABLED_PICO_CYW43_ARCH 0</span></div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span><span class="comment">// PICO_CONFIG: PICO_CYW43_ARCH_DEBUG_ENABLED, Enable/disable some debugging output in the pico_cyw43_arch module, type=bool, default=1 in debug builds, group=pico_cyw43_arch</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span><span class="preprocessor">#ifndef PICO_CYW43_ARCH_DEBUG_ENABLED</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span><span class="preprocessor">#ifndef NDEBUG</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span><span class="preprocessor">#define PICO_CYW43_ARCH_DEBUG_ENABLED 1</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span><span class="preprocessor">#define PICO_CYW43_ARCH_DEBUG_ENABLED 0</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span><span class="comment">// PICO_CONFIG: PICO_CYW43_ARCH_DEFAULT_COUNTRY_CODE, Default country code for the cyw43 wireless driver, default=CYW43_COUNTRY_WORLDWIDE, group=pico_cyw43_arch</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span><span class="preprocessor">#ifndef PICO_CYW43_ARCH_DEFAULT_COUNTRY_CODE</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span><span class="preprocessor">#define PICO_CYW43_ARCH_DEFAULT_COUNTRY_CODE CYW43_COUNTRY_WORLDWIDE</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span> </div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"><a class="line" href="group__pico__cyw43__arch.html#ga7a05bd21f02a0effadbba1e8266b8771">  174</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga7a05bd21f02a0effadbba1e8266b8771">cyw43_arch_init</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span> </div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gaf3eb9816b2413128442e4adbfc5114c5">cyw43_arch_init_with_country</a>(uint32_t country);</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span> </div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="group__pico__cyw43__arch.html#gae8557dfd76b719f39cf182a144dd070b">  203</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gae8557dfd76b719f39cf182a144dd070b">cyw43_arch_deinit</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span> </div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span><a class="code hl_struct" href="structasync__context.html">async_context_t</a> *<a class="code hl_function" href="group__pico__cyw43__arch.html#ga092b97e879be5b9aa9121abda23e1337">cyw43_arch_async_context</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga546a36df25d7609b83bf6c4972440181">cyw43_arch_set_async_context</a>(<a class="code hl_struct" href="structasync__context.html">async_context_t</a> *context);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span> </div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="group__pico__cyw43__arch.html#ga90add164a540ed61daa8aa8df13f36a3">  234</a></span><a class="code hl_struct" href="structasync__context.html">async_context_t</a> *<a class="code hl_function" href="group__pico__cyw43__arch.html#ga90add164a540ed61daa8aa8df13f36a3">cyw43_arch_init_default_async_context</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span> </div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gacb76fc7935c64b2a0cb32c0b8af94782">cyw43_arch_poll</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span> </div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gad8d40de29bb275e3b55f4f37ee4d3dc8">cyw43_arch_wait_for_work_until</a>(<a class="code hl_typedef" href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a> until);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span> </div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="group__pico__cyw43__arch.html#ga6a1c4a2015fb4c2d47d6d05fc72d4cbe">  277</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga6a1c4a2015fb4c2d47d6d05fc72d4cbe">cyw43_arch_lwip_begin</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>    cyw43_thread_enter();</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>}</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"><a class="line" href="group__pico__cyw43__arch.html#gae0c3d7dd9f5b41e3cf4c2ae970356df4">  300</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gae0c3d7dd9f5b41e3cf4c2ae970356df4">cyw43_arch_lwip_end</a>(<span class="keywordtype">void</span>) {</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>    cyw43_thread_exit();</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>}</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span> </div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="group__pico__cyw43__arch.html#ga263d31bcb5c8d387b37b4f9a578e1c27">  320</a></span><span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga263d31bcb5c8d387b37b4f9a578e1c27">cyw43_arch_lwip_protect</a>(<span class="keywordtype">int</span> (*func)(<span class="keywordtype">void</span> *param), <span class="keywordtype">void</span> *param) {</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>    <a class="code hl_function" href="group__pico__cyw43__arch.html#ga6a1c4a2015fb4c2d47d6d05fc72d4cbe">cyw43_arch_lwip_begin</a>();</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span>    <span class="keywordtype">int</span> rc = func(param);</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>    <a class="code hl_function" href="group__pico__cyw43__arch.html#gae0c3d7dd9f5b41e3cf4c2ae970356df4">cyw43_arch_lwip_end</a>();</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>    <span class="keywordflow">return</span> rc;</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span>}</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span> </div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span>uint32_t <a class="code hl_function" href="group__pico__cyw43__arch.html#ga5fc198cd8f76428160dfc66f58be29c4">cyw43_arch_get_country_code</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span> </div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga6796a9ab5ae2cc6c51c14ecdfcda0b96">cyw43_arch_enable_sta_mode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span> </div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gab8b4763c68c539c8a8d31400a83fd095">cyw43_arch_disable_sta_mode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span> </div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga1c3d403f299743360ecab36108e4ca7b">cyw43_arch_enable_ap_mode</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *password, uint32_t auth);</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno">  384</span>    </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga88bc0f9768bc9b877adb90b676514dac">cyw43_arch_disable_ap_mode</a>(<span class="keywordtype">void</span>);</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span> </div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno">  404</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gaa8be8a816a6f40ba30cf69dd112db9d4">cyw43_arch_wifi_connect_blocking</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *pw, uint32_t auth);</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span> </div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno">  418</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gab2766c44297fb1fb7fe12dc67f044bdb">cyw43_arch_wifi_connect_bssid_blocking</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> uint8_t *bssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *pw, uint32_t auth);</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gae1237b71f7793ba603a4b39da37c7a71">cyw43_arch_wifi_connect_timeout_ms</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *pw, uint32_t auth, uint32_t timeout);</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span> </div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gac1aa260ffa68c0ee5dcdbbbf9af80286">cyw43_arch_wifi_connect_bssid_timeout_ms</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> uint8_t *bssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *pw, uint32_t auth, uint32_t timeout);</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno">  448</span> </div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga614a37dcffe6363fd6649684cac1c14e">cyw43_arch_wifi_connect_async</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *pw, uint32_t auth);</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span> </div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  480</span><span class="keywordtype">int</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga471fd4a7626a27ae7e358a664a48c510">cyw43_arch_wifi_connect_bssid_async</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *ssid, <span class="keyword">const</span> uint8_t *bssid, <span class="keyword">const</span> <span class="keywordtype">char</span> *pw, uint32_t auth);</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span> </div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span><span class="keywordtype">void</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#ga33cca1c95fc0d7512e7fef4a59fd7475">cyw43_arch_gpio_put</a>(uint wl_gpio, <span class="keywordtype">bool</span> value);</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span> </div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span><span class="keywordtype">bool</span> <a class="code hl_function" href="group__pico__cyw43__arch.html#gac494fc808052b0e7411f945f50ebe6d5">cyw43_arch_gpio_get</a>(uint wl_gpio);</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno">  503</span> </div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span><span class="preprocessor">#ifdef __cplusplus</span></div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span>}</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span> </div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span><span class="preprocessor">#endif</span></div>
<div class="ttc" id="aasync__context_8h_html"><div class="ttname"><a href="async__context_8h.html">async_context.h</a></div></div>
<div class="ttc" id="acyw43_8h_html"><div class="ttname"><a href="cyw43_8h.html">cyw43.h</a></div><div class="ttdoc">CYW43 driver interface.</div></div>
<div class="ttc" id="acyw43__country_8h_html"><div class="ttname"><a href="cyw43__country_8h.html">cyw43_country.h</a></div><div class="ttdoc">CYW43 country codes.</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga092b97e879be5b9aa9121abda23e1337"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga092b97e879be5b9aa9121abda23e1337">cyw43_arch_async_context</a></div><div class="ttdeci">async_context_t * cyw43_arch_async_context(void)</div><div class="ttdoc">Return the current async_context currently in use by the cyw43_arch code.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:177</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga1c3d403f299743360ecab36108e4ca7b"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga1c3d403f299743360ecab36108e4ca7b">cyw43_arch_enable_ap_mode</a></div><div class="ttdeci">void cyw43_arch_enable_ap_mode(const char *ssid, const char *password, uint32_t auth)</div><div class="ttdoc">Enables Wi-Fi AP (Access point) mode.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:47</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga263d31bcb5c8d387b37b4f9a578e1c27"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga263d31bcb5c8d387b37b4f9a578e1c27">cyw43_arch_lwip_protect</a></div><div class="ttdeci">static int cyw43_arch_lwip_protect(int(*func)(void *param), void *param)</div><div class="ttdoc">sad Release any locks required for calling into lwIP</div><div class="ttdef"><b>Definition:</b> cyw43_arch.h:320</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga33cca1c95fc0d7512e7fef4a59fd7475"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga33cca1c95fc0d7512e7fef4a59fd7475">cyw43_arch_gpio_put</a></div><div class="ttdeci">void cyw43_arch_gpio_put(uint wl_gpio, bool value)</div><div class="ttdoc">Set a GPIO pin on the wireless chip to a given value.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:165</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga471fd4a7626a27ae7e358a664a48c510"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga471fd4a7626a27ae7e358a664a48c510">cyw43_arch_wifi_connect_bssid_async</a></div><div class="ttdeci">int cyw43_arch_wifi_connect_bssid_async(const char *ssid, const uint8_t *bssid, const char *pw, uint32_t auth)</div><div class="ttdoc">Start attempting to connect to a wireless access point specified by SSID and BSSID.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:90</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga546a36df25d7609b83bf6c4972440181"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga546a36df25d7609b83bf6c4972440181">cyw43_arch_set_async_context</a></div><div class="ttdeci">void cyw43_arch_set_async_context(async_context_t *context)</div><div class="ttdoc">Set the async_context to be used by the cyw43_arch_init.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:27</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga5fc198cd8f76428160dfc66f58be29c4"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga5fc198cd8f76428160dfc66f58be29c4">cyw43_arch_get_country_code</a></div><div class="ttdeci">uint32_t cyw43_arch_get_country_code(void)</div><div class="ttdoc">Return the country code used to initialize cyw43_arch.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:156</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga614a37dcffe6363fd6649684cac1c14e"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga614a37dcffe6363fd6649684cac1c14e">cyw43_arch_wifi_connect_async</a></div><div class="ttdeci">int cyw43_arch_wifi_connect_async(const char *ssid, const char *pw, uint32_t auth)</div><div class="ttdoc">Start attempting to connect to a wireless access point.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:96</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga6796a9ab5ae2cc6c51c14ecdfcda0b96"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga6796a9ab5ae2cc6c51c14ecdfcda0b96">cyw43_arch_enable_sta_mode</a></div><div class="ttdeci">void cyw43_arch_enable_sta_mode(void)</div><div class="ttdoc">Enables Wi-Fi STA (Station) mode.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:31</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga6a1c4a2015fb4c2d47d6d05fc72d4cbe"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga6a1c4a2015fb4c2d47d6d05fc72d4cbe">cyw43_arch_lwip_begin</a></div><div class="ttdeci">static void cyw43_arch_lwip_begin(void)</div><div class="ttdoc">Acquire any locks required to call into lwIP.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.h:277</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga7a05bd21f02a0effadbba1e8266b8771"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga7a05bd21f02a0effadbba1e8266b8771">cyw43_arch_init</a></div><div class="ttdeci">int cyw43_arch_init(void)</div><div class="ttdoc">Initialize the CYW43 architecture.</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga88bc0f9768bc9b877adb90b676514dac"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga88bc0f9768bc9b877adb90b676514dac">cyw43_arch_disable_ap_mode</a></div><div class="ttdeci">void cyw43_arch_disable_ap_mode(void)</div><div class="ttdoc">Disables Wi-Fi AP (Access point) mode.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:59</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_ga90add164a540ed61daa8aa8df13f36a3"><div class="ttname"><a href="group__pico__cyw43__arch.html#ga90add164a540ed61daa8aa8df13f36a3">cyw43_arch_init_default_async_context</a></div><div class="ttdeci">async_context_t * cyw43_arch_init_default_async_context(void)</div><div class="ttdoc">Initialize the default async_context for the current cyw43_arch type.</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gaa8be8a816a6f40ba30cf69dd112db9d4"><div class="ttname"><a href="group__pico__cyw43__arch.html#gaa8be8a816a6f40ba30cf69dd112db9d4">cyw43_arch_wifi_connect_blocking</a></div><div class="ttdeci">int cyw43_arch_wifi_connect_blocking(const char *ssid, const char *pw, uint32_t auth)</div><div class="ttdoc">Attempt to connect to a wireless access point, blocking until the network is joined or a failure is d...</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:140</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gab2766c44297fb1fb7fe12dc67f044bdb"><div class="ttname"><a href="group__pico__cyw43__arch.html#gab2766c44297fb1fb7fe12dc67f044bdb">cyw43_arch_wifi_connect_bssid_blocking</a></div><div class="ttdeci">int cyw43_arch_wifi_connect_bssid_blocking(const char *ssid, const uint8_t *bssid, const char *pw, uint32_t auth)</div><div class="ttdoc">Attempt to connect to a wireless access point specified by SSID and BSSID, blocking until the network...</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:144</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gab8b4763c68c539c8a8d31400a83fd095"><div class="ttname"><a href="group__pico__cyw43__arch.html#gab8b4763c68c539c8a8d31400a83fd095">cyw43_arch_disable_sta_mode</a></div><div class="ttdeci">void cyw43_arch_disable_sta_mode(void)</div><div class="ttdoc">Disables Wi-Fi STA (Station) mode.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:36</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gac1aa260ffa68c0ee5dcdbbbf9af80286"><div class="ttname"><a href="group__pico__cyw43__arch.html#gac1aa260ffa68c0ee5dcdbbbf9af80286">cyw43_arch_wifi_connect_bssid_timeout_ms</a></div><div class="ttdeci">int cyw43_arch_wifi_connect_bssid_timeout_ms(const char *ssid, const uint8_t *bssid, const char *pw, uint32_t auth, uint32_t timeout)</div><div class="ttdoc">Attempt to connect to a wireless access point specified by SSID and BSSID, blocking until the network...</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:152</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gac494fc808052b0e7411f945f50ebe6d5"><div class="ttname"><a href="group__pico__cyw43__arch.html#gac494fc808052b0e7411f945f50ebe6d5">cyw43_arch_gpio_get</a></div><div class="ttdeci">bool cyw43_arch_gpio_get(uint wl_gpio)</div><div class="ttdoc">Read the value of a GPIO pin on the wireless chip.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:170</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gacb76fc7935c64b2a0cb32c0b8af94782"><div class="ttname"><a href="group__pico__cyw43__arch.html#gacb76fc7935c64b2a0cb32c0b8af94782">cyw43_arch_poll</a></div><div class="ttdeci">void cyw43_arch_poll(void)</div><div class="ttdoc">Perform any processing required by the cyw43_driver or the TCP/IP stack.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:181</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gad8d40de29bb275e3b55f4f37ee4d3dc8"><div class="ttname"><a href="group__pico__cyw43__arch.html#gad8d40de29bb275e3b55f4f37ee4d3dc8">cyw43_arch_wait_for_work_until</a></div><div class="ttdeci">void cyw43_arch_wait_for_work_until(absolute_time_t until)</div><div class="ttdoc">Sleep until there is cyw43_driver work to be done.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:186</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gae0c3d7dd9f5b41e3cf4c2ae970356df4"><div class="ttname"><a href="group__pico__cyw43__arch.html#gae0c3d7dd9f5b41e3cf4c2ae970356df4">cyw43_arch_lwip_end</a></div><div class="ttdeci">static void cyw43_arch_lwip_end(void)</div><div class="ttdoc">Release any locks required for calling into lwIP.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.h:300</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gae1237b71f7793ba603a4b39da37c7a71"><div class="ttname"><a href="group__pico__cyw43__arch.html#gae1237b71f7793ba603a4b39da37c7a71">cyw43_arch_wifi_connect_timeout_ms</a></div><div class="ttdeci">int cyw43_arch_wifi_connect_timeout_ms(const char *ssid, const char *pw, uint32_t auth, uint32_t timeout)</div><div class="ttdoc">Attempt to connect to a wireless access point, blocking until the network is joined,...</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:148</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gae8557dfd76b719f39cf182a144dd070b"><div class="ttname"><a href="group__pico__cyw43__arch.html#gae8557dfd76b719f39cf182a144dd070b">cyw43_arch_deinit</a></div><div class="ttdeci">void cyw43_arch_deinit(void)</div><div class="ttdoc">De-initialize the CYW43 architecture.</div></div>
<div class="ttc" id="agroup__pico__cyw43__arch_html_gaf3eb9816b2413128442e4adbfc5114c5"><div class="ttname"><a href="group__pico__cyw43__arch.html#gaf3eb9816b2413128442e4adbfc5114c5">cyw43_arch_init_with_country</a></div><div class="ttdeci">int cyw43_arch_init_with_country(uint32_t country)</div><div class="ttdoc">Initialize the CYW43 architecture for use in a specific country.</div><div class="ttdef"><b>Definition:</b> cyw43_arch.c:160</div></div>
<div class="ttc" id="agroup__timestamp_html_ga8b7f3d602cc053f05bacceeacc257ed8"><div class="ttname"><a href="group__timestamp.html#ga8b7f3d602cc053f05bacceeacc257ed8">absolute_time_t</a></div><div class="ttdeci">uint64_t absolute_time_t</div><div class="ttdoc">An opaque 64 bit timestamp in microseconds.</div><div class="ttdef"><b>Definition:</b> types.h:43</div></div>
<div class="ttc" id="apico_8h_html"><div class="ttname"><a href="pico_8h.html">pico.h</a></div></div>
<div class="ttc" id="astructasync__context_html"><div class="ttname"><a href="structasync__context.html">async_context</a></div><div class="ttdoc">Base structure type of all async_contexts. For details about its use, see pico_async_context.</div><div class="ttdef"><b>Definition:</b> async_context.h:179</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->

	<script src="main.js"></script>
</body>
</html>